/**
 * Általános szörny osztály, minden működő szörny ennek a leszármazottja.
 */
public abstract class Monster extends Entity implements ITickable
{

  /**
   * A szörny halálát kezelő függvény szikla ráesés vagy másik szörnnyel való
   * találkozás esetén.
   */
  public boolean kill()
  {
    SkeletonHelper.FunctionBegin(ID,"Monster", "kill");
    SkeletonHelper.FunctionEnd(ID,"Monster", "kill", "true");
    return true;
  }

  /**
   * A szörny halálát kezelő függvény bomba robbanás esetén.
   */
  public boolean explode()
  {
    SkeletonHelper.FunctionBegin(ID,"Monster", "explode");
    SkeletonHelper.FunctionEnd(ID,"Monster", "explode", "true");
    return true;
  }

  /**
   * A Player által meghívott függvény ami "aktiválja' a szörny működését, akkor
   * is ha az időzített léptetés miatt esetleg a Player nem halna meg a
   * találkozás esetén.
   */
  public void activate()
  {
    SkeletonHelper.FunctionBegin(ID,"Monster", "activate");

    for(int i = 0;i<4;i++)
    {
      field.getNeighbour(i).getEntity().kill();
    }

    SkeletonHelper.FunctionEnd(ID,"Monster", "activate");
  }
}